home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1995-03-07 | 1.7 KB | 78 lines |
- ' Ben Editor
- ' Angefangen und nie beendet... kannst probieren, damit ein Level zu machen
- ' aber viel funktioniert nicht... gespeichert wird mit der Taste Shift-S.
- Dim F(5+19+5,5+19+5,1)
- 'GRABICONS
- Unpack 8 To 0
- Change Mouse 2
- Make Icon Mask
- LL=20*20*2+128
- Reserve As Work 10,LL
- For YS=0 To 19
- For XS=0 To 19
- F(XS+5,YS+5,0)=0
- F(XS+5,YS+5,1)=0
- Paste Icon XS*8+16,YS*8+24,1
- Next
- Next
- S=1 : Gosub CHARUP
- Gosub LOALEV
- Do
- Multi Wait
- M=Mouse Key : XM=X Screen(X Mouse) : YM=Y Screen(Y Mouse)
- I$=Upper$(Inkey$)
- XB=(XM-16)/8 : YB=(YM-24)/8
- If XB<0 or XB>19 or YB<0 or YB>19 Then XB=-1 : YB=-1
- XF=(XM-200)/8 : YF=(YM-120)/8
- If XF<0 or XF>11 or YF<0 or YF>3 Then XF=-1 : YF=-1
- If I$="S" Then Gosub SAVLEV
- If M and XB>-1 Then Gosub PASBLOCK
- If M and XF>-1 and XF+YF*12<ANZ Then S=XF+YF*12
- Loop
- PASBLOCK:
- If M=2 Then CB=0
- If M=1 Then CB=S
- F(XB+5,YB+5,0)=CB
- Paste Icon XB*8+16,YB*8+24,1+CB
- Return
- LOALEV:
- ST=Start(10)
- Bload "BenLevels/1",ST
- For YS=0 To 19
- For XS=0 To 19
- F(XS+5,YS+5,0)=Peek(ST+XS*2+YS*40)
- F(XS+5,YS+5,1)=Peek(ST+XS*2+YS*40+1)
- Next
- Next
- For YS=0 To 19
- For XS=0 To 19
- Paste Icon XS*8+16,YS*8+24,F(XS+5,YS+5,0)+1
- Next
- Next
- Return
- SAVLEV:
- ST=Start(10)
- For YS=0 To 19
- For XS=0 To 19
- Poke ST+XS*2+YS*40,F(XS+5,YS+5,0)
- Poke ST+XS*2+YS*40+1,F(XS+5,YS+5,1)
- Next
- Next
- Bsave "BenLevels/1",ST To ST+LL
- Return
- End
- CHARUP:
- BAS=0 : ANZ=47
- For A=0 To ANZ
- Paste Icon 200+(A mod 12)*8,120+A/12*8,A+BAS+1
- Next
- Return
- Procedure GRABICONS
- Load Iff "BenEditorDat.iff",0
- Screen Offset 0,0,0
- Screen Display 0,128,40,320,264
- Colour 0,0
- For A=0 To 47
- Get Icon A+1,(A mod 40)*8,A/40*8 To(A mod 40)*8+8,A/40*8+8
- Next
- End Proc